package conf

import (
	"encoding/json"
	"os"
)

// Config 是整个配置文件的结构
type Config struct {
	Env string    `json:"env"`
	Log LogConfig `json:"log"`
}

// LogConfig 是日志配置的结构
type LogConfig struct {
	Filename   string `json:"file_name"`   //文件名称
	MaxSize    int    `json:"max_size"`    // MB
	MaxBackups int    `json:"max_backups"` // 保留备份文件的最大数量
	MaxAge     int    `json:"max_age"`     // 日志文件保存的最大天数
	Compress   bool   `json:"compress"`    // 是否压缩旧的日志文件
}

// LoadConfig 从配置文件中加载配置
func LoadConfig() Config {
	fileName := "config.json"
	var config Config
	file, err := os.ReadFile(fileName)
	if err != nil {
		return config
	}

	err = json.Unmarshal(file, &config)
	if err != nil {
		return config
	}

	return config
}
